package com.wanxi.mapper;

import com.wanxi.entity.Patient;
import com.wanxi.model.PatientApplyQuery;
import com.wanxi.model.PatientQuery;
import com.wanxi.entity.PatientApply;
import com.wanxi.vo.PatientApplyDTO;
import com.wanxi.vo.PatientDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PatientMapper {
    List<PatientDTO> findPatient(PatientQuery patientQuery);

    List<PatientDTO> findPatientByGuardianId(PatientQuery patientQuery);

    List<Patient> findPatientBack(PatientQuery patientQuery);
    List<Patient> findPatientBackByGuardianId(PatientQuery patientQuery);

    Integer addPatient(PatientDTO patientDTO);

    Integer updatePatient(@Param("id")Long patientId,@Param("patientDTO") PatientDTO patientDTO);

    Integer updatePatientState(@Param("id") Long id,@Param("state") Integer state);

    List<PatientApply> getPatientApply(PatientApplyQuery patientApplyQuery);

    List<PatientApply> getPatientApplyBack(PatientApplyQuery patientApplyQuery);

    Integer addPatientApply(PatientApplyDTO patientApplyDTO);

    Integer updatePatientApply(@Param("patientApplyId")Long patientApplyId,@Param("patientApplyDTO") PatientApplyDTO patientApplyDTO);

    Integer updatePatientApplyState(@Param("patientApplyId")Long patientApplyId,@Param("state")Integer state);
}
